Programming of a nonvolatile semiconductor memory (for example, a NAND flash memory) is performed for each page. As the capacity of recent nonvolatile semiconductor memories increases, page size becomes larger, and it becomes necessary to simultaneously charge a large number of bit lines in programming, thereby generating a peak current. That is, the peak current generates noise, and also causes a malfunction due to a low power supply potential or lowers the reliability.
To improve the performance of a memory system which controls chips (nonvolatile semiconductor memories) by a controller, it is necessary to reduce the power consumption of the nonvolatile semiconductor memories. Specifically, when a programming is simultaneously performed for chips to increase the speed of the programming, large power consumption is required to charge bit lines within one chip, resulting in very large power consumption in the whole system. Decreasing such power consumption is needed.